package com.cardone.common.util;

import java.text.ParseException;
import java.util.Date;

import lombok.Setter;

import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang3.StringUtils;

/**
 * 时间工具类
 *
 * @author yaohaitao
 */
public class DateUtils {
	@Setter
	private static String[] parsePatterns = { "yyyy-MM-dd", "yyyy-MM-dd HH", "yyyy-MM-dd HH:mm", "yyyy-MM-dd HH:mm:ss" };

	/**
	 * 新时间
	 *
	 * @return 新时间
	 */
	public static Date newDate() {
		return new Date();
	}

	/**
	 * 解析
	 *
	 * @param str
	 *          字符串
	 * @param parsePatterns
	 *          时间格式化字符串
	 * @return 時間
	 * @throws ParseException
	 */
	public static Date parseDate(final String str, final String... parsePatterns) throws ParseException {
		if (StringUtils.isBlank(str)) {
			return null;
		}

		if (!ArrayUtils.isEmpty(parsePatterns)) {
			return org.apache.commons.lang3.time.DateUtils.parseDate(str, parsePatterns);
		}

		return org.apache.commons.lang3.time.DateUtils.parseDate(str, DateUtils.parsePatterns);
	}
}